home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d26 / mathpack.arc / GAME.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1987-05-08  |  7.3 KB  |  227 lines

  1. 10  CLS
  2. 20  CLEAR
  3. 30  KEY OFF
  4. 40  COLOR 7,0
  5. 50  SCREEN 0,0,0
  6. 60  WIDTH 80
  7. 70  LOCATE 1,1,0
  8. 80  LOCATE 2,10:PRINT "This section of MATH PAK, will provide you"
  9. 90  LOCATE 3,10:PRINT "with a challenging math based game of finding"
  10. 100  LOCATE 4,10:PRINT "the correct answers. You will have three chances"
  11. 110  LOCATE 5,10:PRINT "to answer each problem, or else the computer will"
  12. 120  LOCATE 6,10:PRINT "print out the answer,for a short time."
  13. 130  LOCATE 8,10:PRINT "There are three different types of problems, and "
  14. 140  LOCATE 9,10:PRINT "each type has up to 5 levels,level(1) being the "
  15. 150  LOCATE 10,10:PRINT "simplest, level(5) the hardest to answer."
  16. 160  LOCATE 12,10:PRINT "Here are your topics:"
  17. 170  COLOR 15
  18. 180  LOCATE 13,15:PRINT "A-ADDITION"
  19. 190  LOCATE 14,15:PRINT "B-SUBTRACTION"
  20. 200  LOCATE 15,15:PRINT "C-MULTIPLICATION"
  21. 210  LOCATE 16,15:PRINT "X-EXIT TO FLOW"
  22. 220  COLOR 7,0
  23. 230  LOCATE 19,25:PRINT "ENTER A LETTER":LOCATE 19,41:A$ = INKEY$
  24. 240  LOCATE 19,41:COLOR 31:PRINT CHR$(219):COLOR 7,0
  25. 250  LOCATE 19,41:PRINT A$
  26. 260  FOR T = 0 TO 250:NEXT T
  27. 270  IF A$ = "A" OR A$ = "a" THEN GOTO 430
  28. 280  IF A$ = "B" OR A$ = "b" THEN GOTO 1030
  29. 290  IF A$ = "C" OR A$ = "c" THEN GOTO 1660
  30. 300  IF A$ ="X" OR A$ = "x" THEN CLS:CHAIN"FLOW"
  31. 310  GOTO 230
  32. 320  REM
  33. 330  IF A = 1 THEN L = INT(RND*(5+1)):M = INT(RND*(5 +1))
  34. 340  IF A = 2 THEN L = INT(RND*(10+1)):M = INT(RND*(10+1))
  35. 350  IF A = 3 THEN L = INT(RND*(50+1)):M = INT(RND*(50+1))
  36. 360  IF A = 4 THEN L = INT(RND*(100+1)):M = INT(RND*(100+1))
  37. 370  IF A = 5 THEN L = INT(RND*(1000+1)):M = INT(RND*(1000+1))
  38. 380  RETURN
  39. 390  ' ATT$ = STRING$(20,32):LOCATE 15,29:PRINT ATT$:LOCATE 16,29:PRINT ATT$:LOCATE 18,29:PRINT ATT$
  40. 400  CLS
  41. 410  ' FL$ = STRING$(60,32):LOCATE 20,15:PRINT FL$
  42. 420  RETURN
  43. 430  CLS
  44. 440  LOCATE 2,10:PRINT "Addition game."
  45. 450  LOCATE 3,10:PRINT "You are to add two whole(integer) numbers."
  46. 460  LOCATE 4,10:PRINT "There are five(5) skill levels, and each level can"
  47. 470  LOCATE 5,10:PRINT "be reached by answering all ten(10) problems in that"
  48. 480  LOCATE 6,10:PRINT "level first, then automatically moving into a higher "
  49. 490  LOCATE 7,10:PRINT "skill level."
  50. 500  LOCATE 9,10:PRINT "You have three chances at each problem, and if your"
  51. 510  LOCATE 10,10:PRINT "answer is still not correct, then the computer will"
  52. 520  LOCATE 11,10:PRINT "print the correct answer. GOOD LUCK!"
  53. 530  BEEP:LOCATE 15,15:PRINT "Enter level(1,2,3,4,5,or 0 to exit)":LOCATE 15,50:INPUT A
  54. 540  A = INT(A)
  55. 550  IF (A < 0) OR ( A > 5) THEN 530
  56. 560  IF A  = 0 THEN GOTO 10
  57. 570  GOSUB 330
  58. 580  CLS
  59. 590  LOCATE 2,10:PRINT "Addition"
  60. 600  CNT = 1
  61. 610  CT = 1
  62. 620  LOCATE 15,30:PRINT USING "####";L:LOCATE 16,28:PRINT CHR$(43)
  63. 630  LOCATE 2,10:PRINT "Addition"
  64. 640  LOCATE 23,5:PRINT "PROBLEM #":LOCATE 23,15:PRINT USING "##";CNT:LOCATE 23,60:PRINT "LEVEL #":LOCATE 23,66:PRINT USING "#";A
  65. 650  LOCATE 16,30:PRINT USING "####";M:LI$= STRING$(8,196):LOCATE 17,28:PRINT LI$
  66. 660  LOCATE 18,30:PRINT "        ":LOCATE 18,30:INPUT ANS
  67. 670  ANS = INT(ANS)
  68. 680  IF ANS = 0 THEN 430
  69. 690  IF ANS =(L + M) THEN 700 ELSE GOTO 860
  70. 700  LOCATE 20,25:PRINT "YOUR RIGHT, VERY GOOD!"
  71. 710  FOR T = 0 TO 750:NEXT T
  72. 720  GOSUB 390
  73. 730  CNT = CNT +1
  74. 740  IF CNT > 10 THEN 790 ELSE GOTO 750
  75. 750  GOSUB 330
  76. 760  GOTO 610
  77. 770  REM
  78. 780  REM
  79. 790  A = A + 1
  80. 800  LOCATE 23,30:PRINT "NEW SKILL LEVEL":FOR T = 0 TO 350:NEXT T
  81. 810  IF A > 5 THEN GOTO 830 ELSE GOTO 820
  82. 820  GOTO 570
  83. 830  LOCATE 20,25:PRINT "YOU HAVE COMPLETED THE HIGHEST LEVEL...VERY GOOD!"
  84. 840  FOR T = 0 TO 1000:NEXT T
  85. 850  GOTO 10
  86. 860  CT = CT + 1
  87. 870  IF CT > 3 THEN 920 ELSE GOTO 880
  88. 880  BEEP:LOCATE 20,25:PRINT "SORRY, YOUR INCORRECT":FOR T= 0 TO 750:NEXT T
  89. 890  LOCATE 18,31:PRINT ATT$
  90. 900  LOCATE 20,25:PRINT "                                               "
  91. 910  GOTO 620
  92. 920  CNT = CNT + 1
  93. 930  IF CNT > 10 THEN 980
  94. 940  LOCATE 20,20:PRINT "DO YOU NOW NOW HOW TO SOLVE IT?"
  95. 950  LOCATE 18,30:AT$ = STRING$(20,32):PRINT AT$:LOCATE 18,31:PRINT USING "####";(L + M)
  96. 960  FOR T = 0 TO 750:NEXT T
  97. 970  GOSUB 390:GOSUB 330: IF (L + M ) = 0 THEN GOSUB 330 ELSE GOTO 610
  98. 980  LOCATE 20,25:PRINT "YOU MISSED THIS LAST ONE, DO YOU THINK YOU'RE READY"
  99. 990  LOCATE 21,25:PRINT "FOR LEVEL";(A+1);" AS YET?"
  100. 1000  FOR T = 0 TO 750:NEXT T
  101. 1010  CLS
  102. 1020  GOTO 530
  103. 1030  CLS
  104. 1040  LOCATE 2,10:PRINT "Subtraction game."
  105. 1050  LOCATE 3,10:PRINT "You are to subtract two whole(integer) numbers."
  106. 1060  LOCATE 4,10:PRINT "There are five(5) skill levels, and each level can"
  107. 1070  LOCATE 5,10:PRINT "be reached by answering all ten(10) problems in that"
  108. 1080  LOCATE 6,10:PRINT "level first, then automatically moving into a higher "
  109. 1090  LOCATE 7,10:PRINT "skill level."
  110. 1100  LOCATE 9,10:PRINT "You have three chances at each problem, and if your"
  111. 1110  LOCATE 10,10:PRINT "answer is still not correct, then the computer will"
  112. 1120  LOCATE 11,10:PRINT "print the correct answer. GOOD LUCK!"
  113. 1130  BEEP: LOCATE 15,15:PRINT "Enter level(1,2,3,4,5,or 0 to exit)":LOCATE 15,50:INPUT A
  114. 1140  A = INT(A)
  115. 1150  IF (A < 0) OR ( A > 5) THEN 1130
  116. 1160  IF A = 0 THEN GOTO 10
  117. 1170  GOSUB 330
  118. 1180  IF INT((L - M)) < 1 THEN GOTO 1170
  119. 1190  IF (M > L) OR (M = L) THEN GOTO 1170
  120. 1200  CLS
  121. 1210  LOCATE 2,10:PRINT "Subtraction"
  122. 1220  CNT = 1
  123. 1230  CT = 1
  124. 1240  LOCATE 15,30:PRINT USING "####";L:LOCATE 16,28:PRINT CHR$(196)
  125. 1250  LOCATE 2,10:PRINT "Subtraction"
  126. 1260  LOCATE 23,5:PRINT "PROBLEM #":LOCATE 23,15:PRINT USING "##";CNT:LOCATE 23,60:PRINT "LEVEL #":LOCATE 23,66:PRINT USING "#";A
  127. 1270  LOCATE 16,30:PRINT USING "####";M:LI$= STRING$(8,196):LOCATE 17,28:PRINT LI$
  128. 1280  LOCATE 18,30:PRINT "      ":LOCATE 18,30:INPUT ANS
  129. 1290  ANS = INT(ANS)
  130. 1300  IF ANS = 0 THEN 1030
  131. 1310  IF ANS =(L - M) THEN 1320 ELSE GOTO 1490
  132. 1320  LOCATE 20,25:PRINT "YOUR RIGHT, VERY GOOD!"
  133. 1330  FOR T = 0 TO 750:NEXT T
  134. 1340  GOSUB 390
  135. 1350  CNT = CNT +1
  136. 1360  IF CNT > 10 THEN 1420 ELSE GOTO 1370
  137. 1370  GOSUB 330
  138. 1380  IF (M > L) OR ( M = L) THEN 1370
  139. 1390  GOTO 1230
  140. 1400  REM
  141. 1410  REM
  142. 1420  A = A + 1
  143. 1430  LOCATE 23,30:PRINT "NEW SKILL LEVEL":FOR T = 0 TO 350:NEXT T
  144. 1440  IF A > 5 THEN GOTO 1460 ELSE GOTO 1450
  145. 1450  GOTO 1170
  146. 1460  LOCATE 20,25:PRINT "YOU HAVE COMPLETED THE HIGHEST LEVEL...VERY GOOD!"
  147. 1470  FOR T = 0 TO 1000:NEXT T
  148. 1480  GOTO 10
  149. 1490  CT = CT + 1
  150. 1500  IF CT > 3 THEN 1550 ELSE GOTO 1510
  151. 1510  BEEP:LOCATE 20,25:PRINT "SORRY, YOUR INCORRECT":FOR T= 0 TO 750:NEXT T
  152. 1520  LOCATE 18,31:PRINT ATT$
  153. 1530  LOCATE 20,25:PRINT "                                               "
  154. 1540  GOTO 1240
  155. 1550  CNT = CNT + 1
  156. 1560  IF CNT > 10 THEN 1610
  157. 1570  LOCATE 18,30:AT$ =STRING$(20,32):PRINT AT$:LOCATE 18,31:PRINT USING "####";(L - M)
  158. 1580  LOCATE 20,20:PRINT "DO YOU NOW NOW HOW TO SOLVE IT?"
  159. 1590  FOR T = 0 TO 750:NEXT T
  160. 1600  GOSUB 390:GOSUB 330: IF (M > L) OR (M = L) THEN GOUSB 320 ELSE GOTO 1230
  161. 1610  LOCATE 20,25:PRINT "YOU MISSED THIS LAST ONE, DO YOU THINK YOU'RE READY"
  162. 1620  LOCATE 21,25:PRINT "FOR LEVEL";(A+1);" AS YET?"
  163. 1630  FOR T = 0 TO 750:NEXT T
  164. 1640  CLS
  165. 1650  GOTO 1130
  166. 1660  CLS
  167. 1670  LOCATE 2,10:PRINT "Multiplication game."
  168. 1680  LOCATE 3,10:PRINT "You are to multiply two whole(integer) numbers."
  169. 1690  LOCATE 4,10:PRINT "There are five(5) skill levels, and each level can"
  170. 1700  LOCATE 5,10:PRINT "be reached by answering all ten(10) problems in that"
  171. 1710  LOCATE 6,10:PRINT "level first, then automatically moving into a higher "
  172. 1720  LOCATE 7,10:PRINT "skill level."
  173. 1730  LOCATE 9,10:PRINT "You have three chances at each problem, and if your"
  174. 1740  LOCATE 10,10:PRINT "answer is still not correct, then the computer will"
  175. 1750  LOCATE 11,10:PRINT "print the correct answer. GOOD LUCK!"
  176. 1760  BEEP:LOCATE 15,15:PRINT "Enter level(1,2,3,4,5,or 0 to exit)":LOCATE 15,50:INPUT A
  177. 1770  A = INT(A)
  178. 1780  IF (A < 0) OR ( A > 5) THEN 1760
  179. 1790  IF A = 0 THEN GOTO 10
  180. 1800  GOSUB 330
  181. 1810  IF(M > 100) AND (L > 100) THEN 1800
  182. 1820  IF (M = 0) OR (L = 0) THEN 1800
  183. 1830  IF (L * M ) > 9999 THEN 1800
  184. 1840  CLS
  185. 1850  LOCATE 2,10:PRINT "Multiplication"
  186. 1860  CNT = 1
  187. 1870  CT = 1
  188. 1880  LOCATE 15,30:PRINT USING "####";L:LOCATE 16,28:PRINT CHR$(42)
  189. 1890  LOCATE 2,10:PRINT "Multiplication"
  190. 1900  LOCATE 23,5:PRINT "PROBLEM #":LOCATE 23,15:PRINT USING "##";CNT:LOCATE 23,60:PRINT "LEVEL #":LOCATE 23,66:PRINT USING "#";A
  191. 1910  LOCATE 16,30:PRINT USING "####";M:LI$= STRING$(8,196):LOCATE 17,28:PRINT LI$
  192. 1920  LOCATE 18,30: PRINT "          ":LOCATE 18,30:INPUT ANS
  193. 1930  ANS = INT(ANS)
  194. 1940  IF ANS = 0 THEN 1660
  195. 1950  IF ANS =(L * M) THEN 1960 ELSE GOTO 2120
  196. 1960  LOCATE 20,25:PRINT "YOUR RIGHT, VERY GOOD!"
  197. 1970  FOR T = 0 TO 750:NEXT T
  198. 1980  GOSUB 390
  199. 1990  CNT = CNT +1
  200. 2000  IF CNT > 10 THEN 2050 ELSE GOTO 2010
  201. 2010  GOSUB 330
  202. 2020  IF (M * L) > 9999 THEN 2010
  203. 2030  IF (M = 0) OR (L = 0) THEN 2010
  204. 2040  GOTO 1870
  205. 2050  A = A + 1
  206. 2060  LOCATE 23,30:PRINT "NEW SKILL LEVEL":FOR T = 0 TO 350:NEXT T
  207. 2070  IF A > 5 THEN GOTO 2090 ELSE GOTO 2080
  208. 2080  GOTO 1800
  209. 2090  LOCATE 20,25:PRINT "YOU HAVE COMPLETED THE HIGHEST LEVEL...VERY GOOD!"
  210. 2100  FOR T = 0 TO 1000:NEXT T
  211. 2110  GOTO 10
  212. 2120  CT = CT + 1
  213. 2130  IF CT > 3 THEN 2180 ELSE GOTO 2140
  214. 2140  BEEP:LOCATE 20,25:PRINT "SORRY, YOUR INCORRECT":FOR T= 0 TO 750:NEXT T
  215. 2150  LOCATE 18,31:PRINT ATT$
  216. 2160  LOCATE 20,24:PRINT "                                   "
  217. 2170  GOTO 1880
  218. 2180  CNT = CNT + 1
  219. 2190  IF CNT > 10 THEN 2240
  220. 2200  LOCATE 18,30:PRINT AT$:LOCATE 18,31:PRINT USING "####";(L * M)
  221. 2210  LOCATE 20,20:PRINT "DO YOU NOW NOW HOW TO SOLVE IT?"
  222. 2220  FOR T = 0 TO 750:NEXT T
  223. 2230  GOSUB 390:GOSUB 330:IF (M > 100) AND ( L > 100) THEN GOSUB 330 ELSE GOTO 1870
  224. 2240  LOCATE 20,25:PRINT "YOU MISSED THIS LAST ONE, DO YOU THINK YOU'RE READY"
  225. 2250  LOCATE 21,25:PRINT "FOR LEVEL";(A+1);" AS YET?"
  226. 2260  FOR T = 0 TO 600:NEXT T
  227.